package com.ahora.org.ejb.facade.impl;

import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import com.ahora.org.ejb.dao.interfaces.DocumentoInternoDAO;
import com.ahora.org.ejb.facade.interfaces.DocumentoInternoFacade;
import com.ahora.org.ejb.jpa.beans.BandejaDTO;
import com.ahora.org.ejb.jpa.beans.DocumentoInternoDTO;
import com.ahora.org.ejb.jpa.beans.TipoDocumentoInternoDTO;
import com.ahora.org.ejb.jpa.entities.Accion;
import com.ahora.org.ejb.jpa.entities.DocumentoUsuario;
import com.ahora.org.ejb.jpa.entities.TipoDocumentosInternos;
import com.ahora.org.ejb.jpa.entities.Usuario;
@Stateless
public class DocumentoInternoFacadeBean implements DocumentoInternoFacade {
	
	@EJB
	private DocumentoInternoDAO objDocumentoInternoDao;
	
	@Override
	public List<DocumentoInternoDTO> listaDocumentoInternoUsuarioExpediente(BandejaDTO bandejaDTO) {
		return objDocumentoInternoDao.listaDocumentoInternoUsuarioExpediente(bandejaDTO);
	}

	@Override
	public List<DocumentoUsuario> listaDocumentoInternoAdjuntodos(BandejaDTO ob) {
		return objDocumentoInternoDao.listaDocumentoInternoAdjuntodos(ob);
	}

	@Override
	public List<DocumentoUsuario> listaDocumentoInternoAdjuntodos() {
		return objDocumentoInternoDao.listaDocumentoInternoAdjuntodos();
	}

	@Override
	public List<TipoDocumentosInternos> listarDocumentosInternos() {
		return objDocumentoInternoDao.listarDocumentosInternos();
	}

	@Override
	public List<Usuario> listarUsuario(int cod) throws Exception {
		return objDocumentoInternoDao.listarUsuario(cod);
	}

	@Override
	public String ultimate(int idUser) {
		return objDocumentoInternoDao.ultimate(idUser);
	}

	@Override
	public List<Usuario> listarTodosUsuarios() {
		return objDocumentoInternoDao.listarTodosUsuarios();
	}

	@Override
	public List<DocumentoInternoDTO> listaDocumentoInternoUsuario(Usuario objUsu) {
		return objDocumentoInternoDao.listaDocumentoInternoUsuario(objUsu);
	}

	@Override
	public String updateDocumento(TipoDocumentosInternos objTipoDoc,Usuario userLog) {
		return objDocumentoInternoDao.updateDocumento(objTipoDoc, userLog);
	}

	@Override
	public boolean primeravalidacion(String codigo) {
		return objDocumentoInternoDao.primeravalidacion(codigo);
	}

	@Override
	public String insertarUsuario(TipoDocumentosInternos documento,Usuario userLog) {
		return objDocumentoInternoDao.insertarUsuario(documento, userLog);
	}

	@Override
	public String deleteDocumento(int idDocumento, Usuario userLog) {
		return objDocumentoInternoDao.deleteDocumento(idDocumento, userLog);
	}

	@Override
	public TipoDocumentosInternos buscarDocumentoUnique(int idDocumento) {
		return objDocumentoInternoDao.buscarDocumentoUnique(idDocumento);
	}

	@Override
	public String enviarDocumentoInterno(int codTipDocIntWeb,DocumentoUsuario objDU, Usuario userLog, List<Usuario> userRec,
			List<Usuario> listconCopia, Integer codExpediente, DocumentoInternoDTO docInter) {
		return objDocumentoInternoDao.enviarDocumentoInterno(codTipDocIntWeb, objDU, userLog, userRec, listconCopia, codExpediente, docInter);
	}

	@Override
	public String obtenerCodigoTipoDocumento(DocumentoInternoDTO docInter) {
		return objDocumentoInternoDao.obtenerCodigoTipoDocumento(docInter);
	}

	@Override
	public List<TipoDocumentoInternoDTO> listarDocumentosInternosMantenimiento() {
		return objDocumentoInternoDao.listarDocumentosInternosMantenimiento();
	}

	@Override
	public String registrarDocumentoInterno(BandejaDTO bandejaDTO,DocumentoInternoDTO docInter, Usuario userLog, Accion accion) {
		return objDocumentoInternoDao.registrarDocumentoInterno(bandejaDTO, docInter, userLog, accion);
	}

	@Override
	public List<DocumentoInternoDTO> listaDocumentosUsuarioCreados(Usuario usuario) {
		return objDocumentoInternoDao.listaDocumentosUsuarioCreados(usuario);
	}

	@Override
	public List<DocumentoInternoDTO> listaDocumentosUsuarioBandeja(
			Usuario usuario) {
		return objDocumentoInternoDao.listaDocumentosUsuarioBandeja(usuario);
	}
}
